import api from '@/utils/api';

/**
 * 获取所有产品列表（不分页）
 * @returns {Promise}
 */
export function getAllProducts() {
  return api.get('/products/all');
}

/**
 * 获取产品列表
 * @param {Object} params 查询参数
 * @returns {Promise}
 */
export function getProducts(params) {
  return api.get('/products', { params });
}

/**
 * 获取单个产品详情
 * @param {Number} id 产品ID
 * @returns {Promise}
 */
export function getProduct(id) {
  return api.get(`/products/${id}`);
}

/**
 * 创建新产品
 * @param {Object} data 产品数据
 * @returns {Promise}
 */
export function createProduct(data) {
  return api.post('/products', data);
}

/**
 * 更新产品信息
 * @param {Number} id 产品ID
 * @param {Object} data 产品数据
 * @returns {Promise}
 */
export function updateProduct(id, data) {
  return api.put(`/products/${id}`, data);
}

/**
 * 删除产品
 * @param {Number} id 产品ID
 * @returns {Promise}
 */
export function deleteProduct(id) {
  return api.delete(`/products/${id}`);
}

/**
 * 获取产品库存信息
 * @param {Number} id 产品ID
 * @returns {Promise}
 */
export function getProductInventory(id) {
  return api.get(`/products/${id}/inventory`);
}

/**
 * 更新产品库存信息
 * @param {Number} id 产品ID
 * @param {Object} data 库存数据
 * @returns {Promise}
 */
export function updateProductInventory(id, data) {
  return api.put(`/products/${id}/inventory`, data);
}

/**
 * 获取产品分类列表
 * @returns {Promise}
 */
export function getCategories() {
  return api.get('/categories');
}

/**
 * 搜索产品
 * @param {string} keyword 搜索关键词
 * @returns {Promise}
 */
export function searchProduct(keyword) {
  return api.get('/products/search', { params: { keyword } });
}

export default {
  getAllProducts,
  getProducts,
  getProduct,
  createProduct,
  updateProduct,
  deleteProduct,
  getProductInventory,
  updateProductInventory,
  getCategories,
  searchProduct
}; 